#ifndef __IO_DRIVER_H__
#define __IO_DRIVER_H__

#include "common.h"

/* IO channel definitions */
#define DIGITAL_INPUT_CHANNELS  12
#define DIGITAL_OUTPUT_CHANNELS 12

/* IO function declarations */
rt_err_t io_driver_init(void);
rt_bool_t io_read_input(uint8_t channel);
rt_err_t io_set_output(uint8_t channel, rt_bool_t state);
rt_bool_t io_get_output_state(uint8_t channel);

/* Hardware-specific initialization */
void io_hw_init(void);

#endif /* __IO_DRIVER_H__ */